package Python

import "BackEnd/GrpcProto"

// python grpc服务器结构体
type server struct {
	GrpcProto.UnimplementedGo_Py_AnswerServer
	pythonGraphDataClient GrpcProto.Go_Py_GraphDataClient // Python图数据库查询服务
	pythonAnswerClient    GrpcProto.Go_Py_AnswerClient    // Python问答服务服务
	pythonAnalyzeClient   GrpcProto.Go_Py_AnalyzeClient   // Python文件解析服务
}

type NodeID = int // NodeID 节点唯一标识定义
type EdgeID = int // EdgeID 关系唯一标识数据类型定义

// Node 表示Neo4j中的一个节点
type Node struct {
	ID    NodeID `json:"ID"`    //节点唯一标识
	Label string `json:"Label"` // 节点名
	Type  string `json:"Type"`  // 节点类型（如 "Person", "Movie"）
}

// Edge 表示Neo4j中的一条边（关系）
type Edge struct {
	ID     EdgeID `json:"ID"`     // 关系唯一标识
	Source NodeID `json:"Source"` // 起始节点ID
	Target NodeID `json:"Target"` // 目标节点ID
	Label  string `json:"Label"`  // 关系名
}

// GraphData 存储多个节点和关系，用于生成Cypher查询
type GraphData struct {
	Nodes []Node `json:"nodes"`
	Edges []Edge `json:"edges"`
}
